package GestionPlannification;

import java.sql.SQLException;
import java.util.List;

/**
 * Classe représentant un Genre d'une pièce
 * @author Aude Legrand, Alexandre Becquet
 */
public class Genre {  
    private int id;
    private String nom;

    /**
     * Constructeur de la classe Artiste avec id
     * @param idGenre l'id du genre
     * @param nom le nom du genre
     */
    public Genre(int idGenre, String nom){
        this.nom=nom;
        this.id=idGenre;
    }

    /**
     * Constructeur de la classe Artiste sans id
     * @param nom le nom du genre
     */
    public Genre(String nom){
        this.nom=nom;
    }

    /**
     * Retourne tous les Genres
     * @return la liste des genres
     */
    public static List<Genre> findEntities() {
        List<Genre> lesGenres = null;
        try {
            lesGenres = GenreBD.realAllGenre();
        } catch (SQLException ex) {
            ex.printStackTrace();
        }
        return lesGenres;
    }

    /**
     * Recherche un genre grâce à son id
     * @param idGenre : L'id du genre recherché
     * @return le genre recherché
     */
    public static Genre findEntitie(int idGenre) {
        Genre g = null;
        try {
            g=GenreBD.readGenre(idGenre);
        } catch (SQLException ex) {
            ex.printStackTrace();
        } catch (Exception ex) {
            ex.printStackTrace();
        }
        return g;
    }

    /**
     * Retourne l'id du genre
     * @return l'id du genre
     */
    public int getIdGenre(){
        return this.id;
    }

    /**
     * Retourne le nom du genre
     * @return le nom du genre
     */
    public String getNom(){
        return this.nom;
    }

    /**
     * Retourne la chaîne de caractère représentant le Genre
     * @return la chaîne de caractère représentant le Genre
     */
    @Override
    public String toString(){
        return this.getNom();
    } 
}
